#ifndef __I2C_H__
#define __I2C_H__
#include	"config.h"

typedef unsigned char uchar ;
//****************************************
// 定义51单片机端口
//****************************************

#define    SCL P1_4			//IIC时钟引脚定义
#define    SDA P1_5			//IIC数据引脚定义


//****************************************
// 定义器件
//****************************************
// IIC OLED
// #define IIC_OLED 0X78
#define IIC_OLED_CMD_REG 0X00
#define IIC_OLED_DATA_REG 0X40



//*************************************************************************************************
//I2C起始信号
//*************************************************************************************************
void I2C_Start();
//*************************************************************************************************
//I2C停止信号
//*************************************************************************************************
void I2C_Stop();

//**************************************************************************************************
//I2C发送应答信号
//入口参数:ack (0:ACK 1:NAK)
//**************************************************************************************************
void I2C_SendACK(bit ack);
//****************************************************************************************************
//I2C接收应答信号
//****************************************************************************************************
bit I2C_RecvACK() ;
//*****************************************************************************************************
//向I2C总线发送一个字节数据
//*****************************************************************************************************
void I2C_SendByte(uchar dat);
//*****************************************************************************************************
//从I2C总线接收一个字节数据
//******************************************************************************************************
uchar I2C_RecvByte() ;
void I2C_WriteData(uchar addr , uchar reg , uchar command);

bit I2C_Busy();


#ifdef IIC_OLED


#define Max_Column	128
#define Max_Row		64
#define OLED_SIZE 8	    //8  16 

void I2C_OLED_Init();
void I2C_OLED_Clear(void);
void I2C_OLED_Display_Off(void);
void I2C_OLED_Display_On();
void I2C_OLED_Set_Pos(unsigned char x, unsigned char y) ;
void I2C_OLED_ShowChar(u8 x,u8 y,u8 chr);
void I2C_OLED_DrawPoint(u8 x,u8 y,u8 t);
#endif 


#endif 